﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using System.Data;
using System.Data.OleDb;
namespace DAO
{
    public static class QuyDinhTietHocDAO
    {
        public static QuyDinhTietHocDTO LayDuLieuTuDataRow(DataRow dr)
        {
            QuyDinhTietHocDTO item = null;
            try
            {
                item = new QuyDinhTietHocDTO();
                item.IDMonHoc = dr["IDMonHoc"].ToString();
                item.Buoi = dr["Buoi"].ToString();
                item.Thu = dr["Thu"].ToString();
                item.Tiet = int.Parse(dr["Tiet"].ToString());
                item.SapHoacTranh = bool.Parse(dr["SapHoacTranh"].ToString());
            }
            catch (Exception ex)
            {
                throw new Exception("Lỗi khi lấy thông tin: " + ex.ToString());
            }
            return item;
        }

        //lấy danh sách đầy đủ
        public static DataTable LayDanhSach()
        {
            DataTable dt = null;
            try
            {
                String query = "SELECT mh.ID, qd.Buoi, qd.Thu, qd.Tiet, qd.SapHoacTranh From QuyDinhTietHoc qd, MonHoc mh where mh.ID = qd.IDMonHoc";
                dt = DataProvider.ExecuteQuery(query);

            }
            catch (Exception ex)
            {
                throw new Exception("Lỗi khi lấy DS: " + ex.ToString());
            }
            return dt;
        }


        //lấy danh sách đầy đủ
        public static List<QuyDinhTietHocDTO> LayDanhSachDayDu()
        {
            List<QuyDinhTietHocDTO> lstQuyDinhTietHoc = null;
            try
            {
                lstQuyDinhTietHoc = new List<QuyDinhTietHocDTO>();
                String query = "SELECT * From QuyDinhTietHoc";
                DataTable dt = DataProvider.ExecuteQuery(query);
                foreach (DataRow dr in dt.Rows)
                {
                    QuyDinhTietHocDTO item = new QuyDinhTietHocDTO();
                    item = LayDuLieuTuDataRow(dr);
                    lstQuyDinhTietHoc.Add(item);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Lỗi khi lấy DS: " + ex.ToString());
            }
            return lstQuyDinhTietHoc;
        }

        //cập nhật
        public static Boolean CapNhat(ref QuyDinhTietHocDTO item)
        {
            Boolean kq = false;
            try
            {
                String strQuery = "Update QuyDinhTietHoc Set Buoi = ?, Thu = ?, Tiet = ?, SapHoacTranh = ? Where IDMonHoc = ?";
                IList<OleDbParameter> arrParameter = new List<OleDbParameter>();
                arrParameter.Add(new OleDbParameter("@Buoi", item.Buoi));
                arrParameter.Add(new OleDbParameter("@Thu", item.Thu));
                arrParameter.Add(new OleDbParameter("@Tiet", item.Tiet));
                arrParameter.Add(new OleDbParameter("@SapHoacTranh", item.SapHoacTranh));
                arrParameter.Add(new OleDbParameter("@IDMonHoc", item.IDMonHoc));
                DataTable dt = DataProvider.ExecuteNonQuery(strQuery, arrParameter);
                kq = true;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return kq;
        }

    }
}
